package anonymous

import "fmt"

func Anonymous() {
	/*
		匿名函数: 即只想让这个函数执行一次
		a :=func() {

		}()

		b :=func() {

		}

		b()
	*/
	// 定义一个匿名函数并调用
	// 匿名函数的使用方式1：定义一个匿名函数并直接执行然后赋值给一个变量
	sum := func(var1, var2 int) int {
		return var1 + var2
	}(1, 2)
	fmt.Println(sum) // 3

	// 匿名函数的使用方式2:定义一个匿名函数然后赋值给一个变量，在所需的时候执行
	func2 := func(var1, var2 int) int {
		return var1 - var2
	}

	fmt.Printf("func1调用的值=%d\n", func2(1, 2)) // func1调用的值=-1
}
